virtualBox配置的一些心得

记录了使用virtualBox 过程中碰到的一些问题,方便日后查询。

配置 NAT network

  • 虚拟机之间互通
  • 主机与 VM 之间默认不能通讯

配置的位置在:

virtual菜单==》偏好设置==》网络==》NAT网络,新建一个NAT网络并在创建虚拟机的时候指定。使用 DHCP 方式即可自动获取 IP。

NAT 网络模式下,HOST ssh to VM

  1. virtual菜单==》偏好设置==》网络==》NAT网络 中,选择编辑 NAT 网络==》端口转发,增加一条转发规则为(假设 VM ip 为 10.0.2.5):Rule名称,TCP,127.0.0.1,22222,10.0.2.5,22。这样就是配置了主机22222端口将收到的 TCP 请求都转发到 10.0.2.522 端口上。
  2. 确认 VM 的 sshd 开启,并且配置了 iptables,如:
    1. service sshd start
    2. service iptables stop

之后在主机上通过 ssh -p 22222 root@127.0.0.1,即可完成到 VM 的连接。

VM 网卡混杂模式是什么意思

就是网卡只接受自己该收的,还是啥消息都接受。区分标识是mac地址。

详情可以参见:知乎

设置共享文件夹

我是尝试在 mac pro 上与 centos7 的 vm 共享文件夹,经历比较坎坷,记录如下:

首先在 virtualbox 中,vm 共享文件夹是需要安装:VBoxGuestAdditions 的,一个小助手。会在 vm 中启动某个服务。安装的 iso 是virtualbox 自带的,在 对应 VM 的 menu devices == 》 Insert Guest Addtions CD image… 中。点击后尝试在 centos 里通过 mount /dev/cdrom /mnt 来挂载 iso。里面的内容是这样的:

dr-xr-xr-x. 2 root root     2048 4月  28 23:35 32Bit
dr-xr-xr-x. 2 root root     2048 4月  28 23:35 64Bit
-r-xr-xr-x. 1 root root      647 8月  17 2016 AUTORUN.INF
-r-xr-xr-x. 1 root root     6381 4月  29 00:27 autorun.sh
dr-xr-xr-x. 2 root root     2048 4月  28 23:35 cert
dr-xr-xr-x. 2 root root     4096 4月  28 23:35 OS2
-r-xr-xr-x. 1 root root     4824 4月  29 00:27 runasroot.sh
-r-xr-xr-x. 1 root root  8140237 4月  29 00:27 VBoxLinuxAdditions.run
-r-xr-xr-x. 1 root root 17782784 4月  29 01:28 VBoxSolarisAdditions.pkg
-r-xr-xr-x. 1 root root 16400296 4月  29 00:35 VBoxWindowsAdditions-amd64.exe
-r-xr-xr-x. 1 root root   268496 4月  29 00:27 VBoxWindowsAdditions.exe
-r-xr-xr-x. 1 root root 10039072 4月  29 00:29 VBoxWindowsAdditions-x86.exe

理论上运行autorun.sh就可以了,但是这么坎坷的路程怎么会这么简单!

我执行的时候出错了,提示 manual 的方式运行脚本,遂选择VBoxLinuxAdditions.run运行。但是运行的时候报错,错误日志没有记录,可以参考

其中关键点是:

  • 要安装 kernel-develgcc
  • 保证kernel版本的一致性(我是通过yum update)方式更新到最新的,具体如下:

    kernel-3.10.0-514.26.2.el7.x86_64
    kernel-3.10.0-514.el7.x86_64
    kernel-devel-3.10.0-514.26.2.el7.x86_64
    kernel-headers-3.10.0-514.26.2.el7.x86_64
    kernel-tools-3.10.0-514.26.2.el7.x86_64
    kernel-tools-libs-3.10.0-514.26.2.el7.x86_64

其中 kernel 有两个版本,在启动的时候应当选择那个与 devel 一致的版本才行。

配置 host to vm